/*
 *接口编写处...
*如果接口需要做Action的权限验证，请在Action上使用属性
*如: [ApiActionPermission("Aps_MachineCalendar",Enums.ActionPermissionOptions.Search)]
 */
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.AspNetCore.Http;
using DGZImp.ApsProject.DomainModels;
using DGZImp.ApsProject.IServices;
using DGZImp.ApsProject.Dtos;
using DGZImp.Core.Utilities.Response;

namespace DGZImp.ApsProject.Controllers
{
    public partial class Aps_MachineCalendarController
    {
        private readonly IAps_MachineCalendarService _service;//访问业务代码
        private readonly IHttpContextAccessor _httpContextAccessor;

        [ActivatorUtilitiesConstructor]
        public Aps_MachineCalendarController(
            IAps_MachineCalendarService service,
            IHttpContextAccessor httpContextAccessor
        )
        : base(service)
        {
            _service = service;
            _httpContextAccessor = httpContextAccessor;
        }
        [HttpPost("GetMachineCalendarData")]
        public async Task<ApiResponse<object>> GenerateMachineCalendarData([FromBody] ReqApsMathineCalendarInfo calendarInfo)
        {
            var r = await _service.GenerateMachineCalendarData(calendarInfo);
            return ApiRes.SuccessMsg(r);
        }


        [HttpGet("GetList")]
        public async Task<ApiResponse<List<ResLeanApsMachineCalendarInfo>>> GetList(string time)
        {
            var r = await _service.GetList(time);
            return ApiRes.Success(r);
        }


        [HttpPost("UpdateMachine")]
        public async Task<ApiResponse<string>> UpdateMachine([FromBody] UpdateApsMathineCalendarInfo UpdateInfo)
        {
            var r = await _service.UpdateMachine(UpdateInfo);
            return ApiRes.Success(r);
        }
    }
}
